/**
 * Copyright (C) 2018-2021
 * All rights reserved, Designed By www.yixiang.co

 */
package co.yixiang.print;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author ：LionCity
 * @date ：Created in 2020-05-11 10:33
 * @description：打印数据VO
 * @modified By：
 * @version: V1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PrintOrderDataVO implements Serializable{
    @ApiModelProperty(value = "订单号")
    private String orderId;
    @ApiModelProperty(value = "实际支付金额")
    private BigDecimal payPrice;
    @ApiModelProperty(value = "用户姓名")
    private String realName;
    @ApiModelProperty(value = "详细地址")
    private String userAddress;
    @ApiModelProperty(value = "用户电话")
    private String userPhone;
    @ApiModelProperty(value = "备注")
    private String mark;
    @ApiModelProperty(value = "门店名称")
    private String storeName;

    public static PrintOrderDataVOBuilder builder() {
        return new PrintOrderDataVOBuilder();
    }

    public static class PrintOrderDataVOBuilder {
        private String orderId;
        private BigDecimal payPrice;
        private String realName;
        private String userAddress;
        private String userPhone;
        private String mark;
        private String storeName;

        PrintOrderDataVOBuilder() {
        }

        public PrintOrderDataVOBuilder orderId(String orderId) {
            this.orderId = orderId;
            return this;
        }

        public PrintOrderDataVOBuilder payPrice(BigDecimal payPrice) {
            this.payPrice = payPrice;
            return this;
        }

        public PrintOrderDataVOBuilder realName(String realName) {
            this.realName = realName;
            return this;
        }

        public PrintOrderDataVOBuilder userAddress(String userAddress) {
            this.userAddress = userAddress;
            return this;
        }

        public PrintOrderDataVOBuilder userPhone(String userPhone) {
            this.userPhone = userPhone;
            return this;
        }

        public PrintOrderDataVOBuilder mark(String mark) {
            this.mark = mark;
            return this;
        }

        public PrintOrderDataVOBuilder storeName(String storeName) {
            this.storeName = storeName;
            return this;
        }

        public PrintOrderDataVO build() {
            return new PrintOrderDataVO(orderId, payPrice, realName, userAddress, userPhone, mark, storeName);
        }

        public String toString() {
            return "PrintOrderDataVO.PrintOrderDataVOBuilder(orderId=" + this.orderId + ", payPrice=" + this.payPrice + ", realName=" + this.realName + ", userAddress=" + this.userAddress + ", userPhone=" + this.userPhone + ", mark=" + this.mark + ", storeName=" + this.storeName + ")";
        }
    }
}
